60                               -  -A C T I O N !U(ivatelsk` popis$     Dle popisu v BAJTKU voln% p@elo(ili J. Plesn)k a K. Kul)&ek               ATARI klub Vala&sk[ Mezi@)') c$ 1988        N O V   J A Z Y K  U R  E N   P R O  H C  A T A R I     Action! - je to jazyk mezi Pascalem a jazykem C. Je na kvalitativn% vy&&) ]rovni ne( obvykl[ programovac) jazyky. Programy psan[ v ACTION! jsou t[m%@ stejn% rychl[ jako programy ve strojov[m kdu. D)ky struktu@e editoru a bohat[  knihovn% procedur je programov*n) pom%rn% snadn[.     Syst[m ACTION! se skl*d* z editoru a monitoru. Program p)&eme v editoru a potom kompilujeme. Programy v ACTION! jsou slo(eny z blok+, z nich( ka(d` obsahuje skupinu v`konn`ch instrukc). D)ky tomu m+(eme do vytv*@en[ho programu vlo(it bloky napsan[ ji( d@)ve. Bloky jsou v ACTION! procedury a funkce. B%(n` program jich m* mnoho, ale nutn` je jenom jeden. Program slo(en` z n%kolika blok+ se spust) od posledn)ho bloku, kter` potom cel` program @)d).     E D I T O R     Slou() k tvorb% nov`ch a k ]prav% star`ch program+. Editor ACTION! je pravd%podobn% jedn)m z nejlep&)ch programov`ch editor+. M+(eme ho pou()t i pro programov*n) v jin`ch jazyc)ch nebo k editaci text+.     Po nahr*n) syst[mu se v doln) '*sti  obrazovky objev) @*dek s n*pisem "ACTION! c$ 1983  ACS". Je to @*dek pro sd%lov*n), ve kter[m se objevuj) hl*&en) o chyb*ch, jin[ informace a pr*v% psan[ p@)kazy editoru. Jestli(e pou()v*me v editoru ob% okna, informa'n) @*dek je um)st%n mezi nimi.     Editor ACTION! je navr(en tak, aby umo(noval co nejleh'	 psan) program+. Maxim*ln) d[lka programov[ho @*dku je 240 znak+. Jej) dosa(en) je signalizov*no bzu'*kem. Je-li @*dek del&) ne( &)@ka okna 38 znak+$, jsou dal&) znaky ps*ny inverzn%.     Texty se do editoru p)&) podobn% jako na psac)m stroji. Pouze p@ed vlastn)m psan)m textu je nutn[ stisknout ESC, aby  editor poznal, (e se p)&e text.     M O D Y   E D I T O R U          Editor m+(e pracovat ve dvou modech - v modu dopluj)c)m a v modu mazac)m. V mazac)m modu je star` text znak po znaku p@episov*n nov`m textem. V modu dopluj)c)m se nov` program dopln) do star[ho - bez jeho p@eps*n). Po spu&t%n) syst[mu je editor  v modu mazac)m. Mody se p@ep)naj) stiskem SHIFT-CONTROL-I.     O V L  D  N 	   E D I T O R U     K maz*n) textu v editoru slou() stisk kl*ves SHIFT-CLEAR. T)m se vyma(e cel` text, nejen text na obrazovce. Pou()v*me-li ob% okna vyma(e se jenom to, ve kter[m je kurzor. Aby se p@ede&lo omylu, pt* se editor: "Clear?"; po stisku Y se text vyma(e, N nevyma(e. Jestli(e byl text opravov*n a nebyl zaps*n, editor se znovu zept*: "Not saved-Delete?" Nen) zaps*no. Smazat?$. T)m upozoruje, (e tato verze je&t% nen) nahr*na. V p@)pad%,(e se chceme dostat do monitoru mus)me stisknout SHIFT-CONTROL-M. Potom m*me mo(nost vyvolat r+zn[ funkce syst[mu v'etn% p@echodu do DOS-u. Program zapsan` v editoru m+(eme ulo(it na kter[koliv za@)zen	. Umo(uje to stisk SHIFT-CONTROL-W. Po stisku t[to kombinace se objev) n*pis "Write?". P@i z*pisu na disketu se nap)&e  D: n*zev. ext, p@i z*pisu na magnetofon C: a na tisk*rnu P:. Zp%t do editoru lze program na')st po stisku SHIFT-CONTROL-R, po kter[m se po')ta' zept* "Read?". Mus)me zadat n*zev za@)zen) D:, C:. Pro v`pis obsahu na disku sta') napsat ?1:..      P R A V Y  T E X T U     N%kdy je pot@eba rozd%lit programov` @*dek na @*dky dva. V takov[m p@)pad% najedeme kurzorem na prvn) znak budouc)ho @*dku a stiskneme SHIFT-CONTROL-RETURN. Inverzn) funkci doc)l)me nastaven)m kurzoru na prvn) znak druh[ho @*dku a stiskem SHIFT-CONTROL-BACK SPACE.     Stisk SHIFT-CONTROL-S umo(uje z*m%nu '*sti programu. Po stisku se objev) n*pis "Substitute?". Jestli(e  u( byla tato funkce d@)ve pou(ita, objev) se i posledn) text. Nap)&eme text, kter` chceme vlo(it do programu a stiskneme RETURN. Nyn) se editor zept* "for?" a my nap)&eme text, kter` chceme p@epsat. Po stisku RETURN je star` text vyhled*n a zam%n%n za nov`. Dal&) stisk  SHIFT-CONTROL-S provede dal&) z*m%nu na jin[m m)st% bez ot*zek "Substitute?" a "for?" nesm) se  mezit)m pou()t jin* funkce editoru$. Jestli(e se star` text v programu u( neobjevuje, informa'n) @*dek hl*s) "not found" nenalezeno$. Rovn%( m+(eme p@em)sovat nebo kop)rovat cel[ bloky textu pomoc) kop)rovac)ho bufferu. V(dy po stisku SHIFT-DELETE  je odsunut` @*dek um)st%n v kop)rovac)m bufferu. Stisk SHIFT-CONTROL-P vyp)&e odsunut` @*dek od pozice kurzoru. Kop)rovac) buffer je maz*n po ka(d[m u(it	 SHIFT-DELETE, ale tiskneme-li SHIFT-DELETE @*dek po @*dku bez jin`ch p@	kaz+, pak se buffer nema(e. T)mto zp+sobem lze do bufferu ulo(it cel` blok textu a tento text um)stit libovoln% do programu povelem SHIFT-CONTROL-P. Pon%vad( p@i tomto vypisov*n) se obsah bufferu nema(e, je mo(no t)mto zp+sobem obsah zapsat n%kolikr*t. Jestli(e se b%hem p@episov*n) vyskytne chyba, pak je mo(n[ @*dek s chybou vypsat stiskem SHIFT-CONTROL-U. P@i pou(it) t[to funkce mus) b`t kurzor v @*dku s chybou.     Ud%l*me-li b%hem opravy @*dku chybu, m+(eme p+vodn) @*dek vyvolat p@)kazem SHIFT-CONTROL-U. Tento p@)kaz funguje pouze tehdy, jestli(e kurzor neopustil opravovan` @*dek.     O K N A     Dal&	 funkc), poskytovanou editorem ACTION! je mo(nost pou(it) druh[ho okna a pr*ce na dvou r+zn`ch programech sou'asn%. Druh[ okno vyvol*v*me stiskem SHIFT-CONTROL-2. T)mto p@	kazem lze tak[ p@em)stit kurzor z prvn)ho okna do druh[ho. N*vrat kurzoru do prvn)ho okna slou(i SHIFT-CONTROL-1. V p@)pad%, (e chceme jedno z oken zru&it, um)st)me do n%j kurzor a stiskneme SHIFT-CONTROL-D. Editor se pt*: "Delete Window?" zru&it okno?$. Stiskem Y je okno zru&eno, N okno nezru&). Okno se m+(e posouvat nahoru a dol+, dos*hneme toho stiskem SHIFT-CONTROL- &ipkynahoru nebo dol+$. M+(eme tak[ cel[ okno p@esouvat o jeden znak vpravo SHIFT-CONTROL-} nebo vlevo SHIFT-CONTROL-{. Povelem SHIFT-CONTROL-H se okno p@esune na za'*tek programu.     Z  N  A    K  Y     Zna'ky umo(uj) ozna'it libovoln[ m	sto v textu. Na p@)slu&n[ pozici um)st)me kurzor a stiskneme SHIFT-CONTROL-T. Objev) se n*pis "tag id:", nap)&eme jeden znak p@edstavuj)c) zna'ku a stiskneme RETURN. Nap)&eme-li zna'ku, kter* ji( byla pou(ita, star* zna'ka se odstran) a um)st) se nov*. Stiskem SHIFT-CONTROL-G se p@eneseme na zna'ku podle znaku vlo(en[ho na dotaz "tag id:". Jestli(e editor zna'ku nenajde, vyp)&e se: "tag not set" zna'ka nebyla um)st%na$. POZOR: Ka(d* operace, kter* m%n) obsah @*dku, ma(e z*rove i p@)slu&nou zna'ku.     M O N I T O R     Monitor ACTION! @)d) pr*ci cel[ho syst[mu. P@)kazov` @*dek je v horn) '*sti obrazovky: je v n%m znak > a kurzor. *dek slou() k vypisov*n) chyb p@i kompilaci, kdy vypisuje '	slo chyby a '*st programu, ve kter[m byla chyba nalezena.     P  	 K A Z Y  M O N I T O R U     Monitor identifikuje p@)kazy u( po prvn)m znaku, proto sta') vypsat prvn) p)smeno p@)kazu. Proveden) n*sleduje po stisku kl*vesy RETURN.BBOOT$ - Provede opakovan` start syst[mu a n*vrat do editoru. Ma(e v&echny prom%nn[ a programy v pam%ti.C "n*zev" COMPILE$ - Program napsan` v ACTION!  mus) b`t p@ed spu&t%n)m zkompilov*n. P@	kaz COMPILE aktivuje kompil*tor ACTION! a spou&t) kompilaci p@elo(en)$ programu, kter` je v editoru. M+(eme rovn%( zkompilovat program ulo(en` na vn%j&	m za@	zen	 pro magntofon "C:", pro  disketu  "D1:nazev"$. Jestli(e kompil*tor p@i p@ekladu naraz	 na chybu, p@eru&	 'innost a vyp	&e chybov[ hl*&en).DDOS$ - Opu&t%n) syst[mu ACTION! a p@echod do DOS-u Obsah editoru i monitoru je ztracen$.EEDITOR$ - P@echod do editoru. Jestli(e  p@i kompilaci do&lo k chyb%, pak se kurzor nach*z) v @*dku s chybou.OOPTIONS$ - Vyvol*n) menu, kter[ umo(uje zm%nit parametry pr*ce editoru, kompil*toru a monitoru. Ka(d* zm%na je vysv%tlov*na v informa'n)m  @*dku. Menu lze opustit kl*vesou ESC. Display? - Obrazovka Y-E,K,M$Obrazovka m+(e b`t p@i kompilaci a operac)ch vstup/v`stup vypnuta. Zrychl) se t)m 'innost. "N" vyp)n* obrazovku, "Y" - obrazovku je zapnuta.Bell? - Bzu'*k Y-E,K,M$Po')ta' vyd*v* zvuk bzu'*ku v(dy, kdy(  naraz) na chybu. M+(eme ho vypnout vlo(en)m "N". "Y" bzu'*k op%t zap)n*.Case sensitive? - Rozli&en) p)smen N-K$. Zad*n)m "Y" jsou rozli&ov*na velk* a mal* p	smena nap@. "suma", "Suma" a "SUMA" jsou r+zn*$ a instrukce jazyka nap@. FOR, WHILE atd.$ mus) b`t ps*ny velk`mi p)smeny. Pro uleh'en) pr*ce za')najic)m program*tor+m je tato funkce po nahr*n) syst[mu v(dy vypnuta. Trace? - Sledov*n). D)ky t[to funkci m+(eme sledovat kompilaci programu .Kdy( je zad*no "Y", kompil*tor ukazuje v informa'n)m @*dku v&echny vyvolan[ procedury a jejich parametry.List? - Listov*n). Nastaven)m "Y" jsou kompilovan[ @*dky pr+b%(n% vypisov*ny.Window 1 size? - Rozm%r okna 1. Rozm%r okna 1 je v editoru Action! nastaven automaticky. Rozm%r okna 2 je z*visl` na velikosti okna 1 - ob% okna mus) m)t celkem 23 @*dk+. Chceme-li pou()vat 2 okna, ka(d[ z nich mus) m)t aspo 5 @*dk+ a nejv`&e 18 @*dk+.Line size? - Rozm%r @*dku. Rozm%r @*dku je vlastn% po'et znak+ v  tomto @*dku, maxim*ln% m+(e m)t 240 znak+. P@)kaz dovoluje hl)dat d[lku @*dku i na tisk*rn%.Left margin? - Lev` okraj. Lev` okraj je m)sto od kter[ho jsou ps*ny znaky na obrazovce 0-39$.EOL charakter? - Znak konce @*dku. Znak konce @*dku je editorem ACTION! zaps*n na konci ka(d[ho @*dku. Norm*ln% je neviditeln`. M+(eme zde vepsat jak`koliv znak taky grafick`$ - nap@. CONTROL-T aj.PROCEEDP$ - Tento p@)kaz znovu spou&t) program p@eru&en` kl*vesou BREAK nebo proceduru "BREAK", program pokra'uje, jako by k (*dn[mu p@eru&en) nedo&lo.R "n*zev" RUN$ - Spou&t%n) zkompilovan[ho programu. Spou&t) program, kter` se nach*z) v pam%ti editoru.R "za@)zen)" - p@e'ten) a spou&t%n)   programu, kter` je ulo(en na vn%j&)m za@)zen).R "adresa" - spou&t%n) programu od zadan[ adresy.R "n*zev procedury" - spou&t%n) jedn[ procedury z programu nebo z knihovny procedur.S "adresa" SET$ - Umo(nuje bezprost@edn) p@)stup do pam%ti RAM. Pracuje stejn% jako POKE v BASICu.W "n*zev" WRITE$ - Umo(uje zapsat zkompilovan` program na vn%j&) za@)zen) magnetofon C:, disketov* jednotka D1:n*zev$.X"instrukce" XECUTE$ - Umo(uje proveden) instrukce jazyka Action! p@)mo z monitoru krom% MODULE a SET$. Po p@)kazu p)&eme instrukci, kterou chceme vykonat nap@. XECUTE PrintE "AHOJ"$.?"adresa" - Odpov)d* PEEK v BASICu. Zobraz) obsah jedn[ pam%ov[ buky."adresa" - Zobraz) obsah pam%ov`ch bun%k od zadan[ adresy. V`pis obsahu lze p@eru&it stisknut)m CONTROL-1. N*sledn`m stisknut)m CONTROL-1 v`pis pokra'uje. Do monitoru se z tohoto re(imu dostaneme stisknut)m SPACEV`pis obsahu pam%ov`ch bun%k m* tento form*t:1$ adresa v des)tkov[m kdu2$ adresa v &estn*ctkov[m kdu3$ znak ATASCII odpov)daj)c) ni(&)mu byte buky4$ obsah p@)slu&n[ buky v &estn*ctkov[m kdu5$ hodnota ni(&)ho byte v des)tkov[m kdu form*t BYTE$6$ hodnota dvoubytov[ho ')sla v des)tkov[m kdu form*t CARD$     K L 	  O V   S L O V A     Bli(&) sezn*men) s jazykem Action! zah*j)me kl)'ov`mi slovy. Jsou to  slova a symboly, kter[ maj) speci*ln) v`znam pro kompil*tor. Kl)'ov* slova nesm) b`t pou(ita jako n*zvy prom%nn`ch.AND       FI        OR        UNTIL     =         ARRAY     FOR       POINTER   WHILE     < >       $BYTE      FUNC      PROC      XOR       #         .CARD      IF        RETURN             >         {CHAR      INCLUDE   RSH       -         >=        }DEFINE    INT       SET                <         "DO        LSH       STEP      /         <=        apostrofELSE      MOD       THEN      kontra             ;ELSEIF    MODULE    TO                 ^EXIT      OD        TYPE      !         zavin*'     S Y M B O L Y     P@i programov*n) budeme pou()vat tyto st*l[ symboly:ADRESA - je to ')slo buky v pam%ti po')ta'e. IDENTIFIKTOR - je n*zev, kter` pat@) prom%nn[, procedu@e atd. Identifik*tor mus) splovat n*sleduj)c) podm)nky:1.Nesm) za')nat ')slem.2.Dal&) znak mus) b`t bu p)smeno, ')slo, nebo znak podtr(en), pop@. jejich kombinace.3.Nesm) to b`t kl)'ov[ slovo.MSB znamen* Most Significant  Bytehorn) byte$LSB znamen* Least Significant Bytedoln) byte$V des)tkov[m kdu jsou d+le(it* jednotliv* ')sla. Nap@)klad v 54 je 5 doln) byte a 4 horn) byte shodn% se standartem mikroprocesoru 6502$. - tento znak, zaps*n p@ed ')slem   znamen*, (e ')slo je zaps*no &estn*ctkov[m kdu.; - st@edn)k je symbolem koment*@e. V&e, co je zaps*no za n)m je ignorov*no.<i> - v`raz uzav@en` t%mito symboly n*m @)k*, co MUS	 b`t pou(ito v p@)kazu, nebo v programov[m @*dku. Nap@. <i> znamen*, (e MUS	 b`t pou(it identifik*tor{<i>} - v`raz takto uzav@en` znamen*, (e ME b`t pou(it`, ale nen) to nutn[|:<i>:| - tento v`raz je zn*mkou opakov*n) jako v hudb%$. Nap@. |:<i>:| znamen*, (e m+(eme pou()t i  n%kolik identifik*tor+, nebo tak[ (*dn`<i><adresa> - tento v`raz @)k*, (e m+(eme pou()t bu identifik*tor, nebo adresu. Nem+(eme ale pou()t oboj) najednou.    S P O U  T  N 	   P R O G R A M U     P@i lad%n) programu je nutn[ odstranit chyby. D)ky mo(nostem Action! je tato 'innost snadn*.TRACE - po zad*n) t[to instrukce je kompilovan` program vypisov*n na obrazovce. N*zev ka(d[ procedury je zobrazen i se sv`mi parametry.P@ed opravami je nutno program zastavit. Jsou mo(n[ dva zp+soby:1$ Kl*vesou BREAK2$ Procedurou "Break".Kl*vesa BREAK v Action! funguje pouze ve dvou p@)padech:a$ b%hem operace vstup/v`stupb$ p@i vol*n) procedur, kter[ maj) v	ce ne( 3 parametry.PROC Break$ slou() k programov[mu zastaven) b%()c)ho programu. Na (*dan`ch m)stech programu se mus) um	stit vyvol*n	 procedury "Break", kter[ odpov)d* Basicov[ instrukci STOP. Pokra'ov*n) programu m+(eme znovu obnovit p@	kazem PROCEED. Odpov)d* CONT v Basicu$.    JEDEN UKZKOV PROGRAM             ;Test rychlosti - Action!             BYTE cl1=20,cl2=19,i             CARD j,time,sm,dl=560             PROC Test$              cl1=0 cl2=0              Graphics24$ Color=1              FOR i=0 TO 191               DO               FOR j=0 TO 319                DO                Plotj,i$                OD               OD              sm=PeekCdl4$ j=0              WHILE j<7680               DO                Pokesmj,0$                j==1               OD              time=cl1256cl2              Graphics0$              PrintE$              Print"Cas vykon*n	 testu: "$              PrintCtime$              PrintE" taktu."$             RETURNTento program testuje rychlost p@i kreslen) v grafice 8.Pro  srovn*n):ATARI Basic - 24840, jazyk C - 16709, Basic XE - 10807,Turbo Basic XL - 9197 a zkompilovan` ATARI Basic - 5689.     T Y P Y   D A T     P R O M  N N N*zev prom%nn[ mus) b`t identifik*torem.     K O N S T A N T Y     V Action! jsou u()v*ny t@i druhy konstant: ')seln[, znakov[ a konstanty kompil*toru.     Konstanty ')seln[ mohou b`t ve t@ech r+zn`ch form*tech:  1. Des)tkov* ')sla nepot@ebuj) ozna'en)$, nap@. 2, 48, 324, 65500, -4360, atd.2. estn*ctkov* ')sla ozna'uj) se znakem  p@ed ')slem$, nap@.0D, 300, 4A00, 8C, atd.3. Znaky ozna'uj) se apostrofem|$ p@ed symbolem$, nap@. |A, |", atd.    Znaky jsou ')seln[ konstanty o velikosti jednobytov[ho ')sla, kter[ se rovn* kdu ATASCII     Konstanty kompil*toru mohou b`t troj):1. ')seln[ - nepot@ebuj) ozna'en)2. identifik*tor - pou(ijeme-li identifik*tor n*zev prom%nn[, procedury, nebo funkce$ jako konstantu kompil*toru, jej) hodnota je d*na adresou tohoto identifik*toru3. ^ ukazov*tko$ - se pou()v* jako konstanta kompil*toru 4. Kombinace dvou mo(nost) ze t@) v`&e uveden`chNap@: kusy - adresa prom%nn[ "kusy"      8D00 - konstanta &estn*ctkov*      ')slo^ - ukazov*tko jako konstanta      5')slo^ - 5 plus obsah ukazov*tka      80n - 80 plus adresa prom%nn[ "n"     D R U H Y  P R O M  N N  C H     V ACTION! jsou t@i hlavn) druhy prom%nn`ch: BYTE, CARD a INT. V&echny tyto prom%nn[ jsou ')seln[.BYTE - zadan* ')sla mus) b`t men&)   ne( 2560-255$, d)ky tomu m+(e b`t pou()v*na jako znakov* prom%nn*.CARD - zadan* ')sla prom%nn[ tohoto  typu mohou m)t velikost 0-65535, slo(en[ ')slo je dvoubytov[. Je ve tvaru LSB, MSB.INT - zadan* ')sla prom%nn[ tohoto   typu mohou m)t velikost -32768 a( 32767.    D E K L A R A C E    P@ed pou(it)m jak[hokoliv identifik*toru jej mus)me p@edem deklarovat, aby mu editor v pam%ti rezervoval m)sto. Zp+soby deklarace jsou n*sleduj)c):<typ><identif.>     {=<inform.po'.>}|:,<identif.>{=<inform.po'.>:|Plat) (e: <inform.po'.> je po'*te'n) hodnota, nebo adresa prom%nn[: <adresa>|{<hodnota>}.P@)klady:BYTE v`sledek,po@ad) - deklarace prom%nn`ch "v`sledek" a "po@ad)"; jako typ BYTEINT num{0} - prom%nn* "num" typu INT o velikosti 0BYTE x=8000 - prom%nn* "x" typu BYTE, kter* je v pam%ti um)st%na od adresy 8000CARD pkt={0}, wsk=83D4 - prom%nn[ CARD "pkt" o hodnot% 0 a "wsk" od adresy 83D4. Prom%nn[ nemus) b`t v jednom @*dku     Opravy textuCONTROL-SHIFT-I ......doplov*n), p@episov*n)CONTROL-SHIFT-U ......vyvol*n) opravovan[ho @*dkuSHIFT-DELETE .........odsunut) @*dku, pop@. cel[ho bloku textuCONTROL-SHIFT-P ......vyvol*n) odsunut[ho @*dku, pop@. bloku textuCONTROL-SHIFT-F ......vyhled*n) textuCONTROL-SHIFT-S ......vyhled*n) textu a jeho v`m%na za nov`CONTROL-SHIFT-T ......um)st%n) zna'kyCONTROL-SHIFT-G ......odstran%n) zna'kyCONTROL-SHIFT-RETURN..rozd%len) jednoho @*dku na dva @*dkyCONTROL-SHIFT-DELETE..spojen) dvou @*dk+ v jeden     P  	 K A Z Y  E D I T O R UCNTR-SHIFT-M - p@echod do monitoruP@)kazy vstup-v`stupCNTR-SHIFT-R-n*zev - load programuCNTR-SHIFT-? n . - directoryCNTR-SHIFT-W-n*zev - save programuCNTR-SHIFT-W-P: - v`pis na tisk*rnu     P O H Y B Y   K U R Z O R UCONTROL - &ipkySHIFT-CONTROL-< p@esouv*n) kurzoru na po'*tek @*dkuSHIFT-CONTROL-> p@esouv*n) kurzoru na konec @*dkuSHIFT-CONTROL-H  p@esouv*n) kurzoru na po'*tek programuTAB  posouv*n) kurzoru o nastavenou mezeruSHIFT-TAB  nastaven	 TABCONTROL-TAB  zru&en) TAB     P O H Y B  O K N A  P O  O B R A Z O V C E CNTR-SHIFT-H - na za'*tek programuCNTR-SHIFT-&ipky - nahoru a dol+ o jeden @*dek. Doleva a doprava posouv* o jeden znakCNTR-SHIFT-2 - utvo@en) druh[ho oknaCNTR-SHIFT-D - maz*n) okna     C H Y B O V   H L   E N 	  A C T I O N !  0 - obsazen* RAM  1 - v textu chyb) "  2 - chyba p@i p@)kazu DEFINE  3 - zapln%n) tabulky glob*ln)ch prom%nn`ch  4 - zapln%n) tabulky lok*ln)ch prom%nn`ch  5 - chybn* adresa v p@)kazu SET  6 - nespr*vn` form*t deklarace  7 - mnoho argument+ v instrukci nebo procedu@e  8 - prom%nn* nebyla deklarov*na  9 - prom%nn* pou(ita v m)st%, kde m* b`t konstanta 10 - nezn*m* instrukce 11 - neidentifikovateln* chyba 12 - chyb) instrukce THEN 13 - chyb) instrukce FI 14 - nedosta'uj)c) pam% pro v`sledn` kd 15 - chyb) instrukce DO 16 - chyb) instrukce TO 17 - nespr*vn` form*t v`pisu 18 - neuzav@en* smy'ka 19 - chyb) instrukce OD 20 - nejsou povoleny dal&) p@esuny v pam%ti 21 - nedovolen* tabelace 24 - chyba v instrukci FOR 25 - nedovolen* instrukce EXIT 27 - chyba v instrukci TYPE 28 - nedovolen* instrukce RETURN 61 - nen) m)sto v tabulce prom%nn`ch128 - program zastaven kl*vesou BREAK     S L O V A   A C T I O N !BYTE - deklarace prom%nn`ch men&)ch 256, nap@. BYTE x=19, prom%nn* x je um)st%na v pam%ti pod adresou 19.BYTE velikost, deklarace prom%nn[ velikost, pro tuto deklaraci je mo(no pou()t i slova CHAR.CARD - podobn% jako BYTE, ale v rozmez) od 0 do 65535, nap@. CARD pkt=0$ vel=83D4, prom%nn* pkt o velikosti 0 a vel pod adresou 83D4DO - n*v%st) po'*tku smy'kyELSE - kdy( neplat) podm)nka IF$, tak program pokra'uje za t)mto slovemELSEIF - to sam[, ale mus) b`t spln%na podm	nka IF$ za ELSEEXIT - opu&t%n) smy'ky FORFOR - smy'ka, nap@. FOR a=0 TO 10IF - podm)nkaINT - integer, cel[ ')sloOD - n*v%st) konce smy'kyOR - neboPROC - za'*tek procedury a pojmenov*n) nap@. PROC Test$RETURN - zakon'en) procedurySET - je to obdoba p@)kazu POKE z BasicuSTEP - krok smy'kyTHEN - p)&e se za podm)nkou IF$, kdy( plat) takTO - pou()v* se ve smy'ce, nap@. FOR A=0 TO 10Open - p@)kaz vstup v`stup, otev@en) kan*luPrint - tisk na obrazovku v textov[m mduClose - p@)kaz vstup v`stup, uzav@en) kan*luInput - vstup datGet - vyb)r* ze za@)zen) 1 byte a ukl*d* ho do ur'en[ prom%nn[Put - pos)l* 1 byte z ur'en[ prom%nn[ do ur'it[ho za@)zen)Xio - instrukce vstup-v`stupVal - p@ev*d) @et%zec na ')sloStr - p@ev*d) ')slo na @et%zecNote - pr*ce s disketouPoint - pr*ce s disketouGraphics - vol) grafick` mdDrawto - kreslen) '*ryPosition - ur'uje m)sto na obrazovceLocate - vyhled*v* data na ur'it[m m)st% obrazovkyPlot - zakresluje bodSetcolor - nastavuje odst)n a jasColor - vol) barvov` registr pro instrukce kreslen)Fill - vypluje uzav@en` objekt ur'enou barvouSound - instrukce pro zvukPaddle - ud*v* polohu ovl*da'e PADDLEPtrig - ud*v* stav tla')tka na ovl*da'i PADDLEStick - ud*v* stav ovl*da'e JOYSTICKStrig - ud*v* stav tla')tka na ovl*da'i JOYSTICKPoke - vkl*d* do ur'it[ho pam%ov[ho m)sta byteOpen     PrintE     PrintDE    Close     Print    PrintD   InputSInputSD  InputMD    GetD       PutD      PutE     PutDE    XioPrintB   PrintC     PrintBDE   PrintCD   PrintI   PrintID  PrintIEPrintCDE PrintIDE   InputB     InputBD   InputI   InputID  InputCInputCD  ValB       ValI       ValC      StrB     StrC     StrINote     Point      Graphics   Drawto    Locate   Plot     PositionSetcolor Color      Fill       Rand      Sound    Paddle   TrigStick    Strig      Poke       PokeCP O Z O R  Znak | pou(it` v textu znamen* apostrof.Nez*le(), zda stiskneme SHIFT-CONTROL nebo CONTROL-SHIFT, nebo ob% kl*vesy mus) b`t stisknuty sou'asn%.